package com.itheima.reggie.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.itheima.reggie.entity.Employee;
import com.itheima.reggie.web.R;
import com.itheima.reggie.entity.dto.employee.EmpAddDTO;
import com.itheima.reggie.entity.dto.employee.EmpUpdateDTO;
import com.itheima.reggie.entity.dto.LoginDTO;

/**
 * 员工业务层接口
 *
 * @Name : EmployeeService
 * @Author : WuQiang
 * @Date : 2022-08-08 19:33
 * @Description : 员工业务层接口
 */
public interface EmployeeService extends IService<Employee> {

    /**
     * 登录逻辑
     *
     * @param dto
     * @return
     */
    R login(LoginDTO dto);

    /**
     * 分页 + 模糊查询
     *
     * @param page
     * @param pageSize
     * @param name
     * @return
     */
    R getEmpByPage(Long page, Long pageSize, String name);

    /**
     * 添加员工
     * @param dto
     * @return
     */
    Boolean saveEmp(EmpAddDTO dto);



    /**
     * 根据id修改员工状态
     * @param dto
     * @return
     */
    Boolean updateEmpStatus(EmpUpdateDTO dto);

    /**
     * 根据id按需更新
     * @param dto
     * @return
     */
    Boolean updateEmpByCondition(EmpUpdateDTO dto);
    /**
     * 判断status是否有值在调用其他逻辑
     * @param dto
     * @return
     */
    Boolean updateEmp(EmpUpdateDTO dto);
}
